/*
 * Copyright (C) 2009 2DAI
 *
 * Este programa es Software Libre; usted puede redistribuirlo
 * y/o modificarlo bajo los términos de la "GNU General Public
 * License" como lo publica la "FSF Free Software Foundation",
 * o (a su elección) de cualquier versión posterior.
 *
 * Este programa es distribuido con la esperanza de que le será
 * útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
 * implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
 * particular. Vea la "GNU General Public License" para más
 * detalles.
 *
 * Usted debe haber recibido una copia de la "GNU General Public
 * License" junto con este programa, si no, escriba a la "FSF
 * Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307, USA.
 */
package util;

import gui.MainWindow;
import java.awt.Toolkit;
import javax.swing.JOptionPane;

/**
 * 
 * Author: Jorge Garrido Oval
 * Colaborated: José Iván Palmer García
 * Clase que nos permitirá crear métodos staticos de errores
 * y usarlos en los try/catch/finally
 */
public class Errors {

    /**
     * Muestra una advertencia con un JOptionPane y produce un pitido.
     * @param error
     */
    public static void creaAdvertencia(String error, StackTraceElement[] stackTrace) {
        Toolkit.getDefaultToolkit().beep();
        JOptionPane.showMessageDialog(MainWindow.window, error, "Mensage de advertencia",
                JOptionPane.WARNING_MESSAGE);
        Logger.escribirLog(error, "Advertencia", stackTrace);
    }
    /**
     * Muestra un error con un JOptionPane y produce un pitido del sistema.
     * @param error Error el cual queremos que salga en el aviso.
     */
    public static void creaError(String error, StackTraceElement[] stackTrace) {
        Toolkit.getDefaultToolkit().beep();
        JOptionPane.showMessageDialog(MainWindow.window, error, "Mensage de error",
                JOptionPane.ERROR_MESSAGE);
        Logger.escribirLog(error, "Error", stackTrace);
    }
    /**
     * Muestra un error con un JOptionPane, produce un pitido del sistema
     * y sale del programa por ser un error grave.
     * @param error
     */
    public static void creaErrorFatal(String error, StackTraceElement[] stackTrace) {
        Toolkit.getDefaultToolkit().beep();
        JOptionPane.showMessageDialog(MainWindow.window, error, "Mensage de error fatal",
                JOptionPane.ERROR_MESSAGE);
        Logger.escribirLog(error, "Error fatal", stackTrace);
        System.exit(1);
    }

}
